<template>
  <div>
    <h2>计算属性</h2>
    <!-- 计算属性,必须当做属性来用,不能当做方法来调用,不能加小括号 -->
    <input type="text" v-model.lazy="xing" />
    <span>+</span>
    <input type="text" v-model.lazy="ming" />
    <span>=</span>
    <input type="text" v-model.lazy="fullname" />
  </div>
</template>

<script>
export default {
  data() {
    return {
      xing: "张",
      ming: "三",
    };
  },
  //计算属性,要写到和data平级的 computed 中
  computed: {
    //计算属性必须返回计算的结果,
    // fullname() {
    //   console.log("计算属性");
    //   return this.xing + this.ming;
    // 如果需要修改计算属性的值,需要携程对象格式(对象中药写get和set方法)
    fullname: {
      get() {
        return this.xing + "" + this.ming;
      },
      // 当修改计算属性的时候,set就执行了,形参就是就该后的结果
      set(val) {
        // console.log(val);
        let arr = val.split("");
        this.xing = arr[0];
        this.ming = arr[1];
      },
    },
  },
};
</script>

<style>
</style>